home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / counter.nasl < prev    next >
Text File  |  2005-03-31  |  3KB  |  97 lines

  1. #
  2. # This script was written by John Lampe...j_lampe@bellsouth.net
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  
  7.  
  8. if(description)
  9. {
  10.  script_id(11725);
  11.  script_bugtraq_id(267);
  12.  script_version ("$Revision: 1.7 $");
  13.  script_cve_id("CAN-1999-1030");
  14.  if (defined_func("script_xref")) script_xref(name:"OSVDB", value:"9826");
  15.  
  16.  name["english"] = "counter.exe vulnerability";
  17.  name["francais"] = "Counter.exe vulnerability";
  18.  script_name(english:name["english"], francais:name["francais"]);
  19.  
  20.  desc["english"] = "
  21. The CGI 'counter.exe' exists on this webserver.
  22. Some versions of this file are vulnerable to remote exploit.
  23. An attacker may make use of this file to gain access to
  24. confidential data or escalate their privileges on the Web
  25. server.
  26.  
  27. Solution : remove it from the cgi-bin or scripts directory.
  28.  
  29. More info can be found at: http://www.securityfocus.com/bid/267
  30.  
  31. Risk factor : High";
  32.  
  33.  
  34.  script_description(english:desc["english"]);
  35.  
  36.  summary["english"] = "Checks for the counter.exe file";
  37.  
  38.  script_summary(english:summary["english"]);
  39.  
  40.  script_category(ACT_MIXED_ATTACK); # mixed
  41.  
  42.  
  43.  script_copyright(english:"This script is Copyright (C) 2003 John Lampe",
  44.         francais:"Ce script est Copyright (C) 2003 John Lampe");
  45.  family["english"] = "CGI abuses";
  46.  family["francais"] = "Abus de CGI";
  47.  script_family(english:family["english"], francais:family["francais"]);
  48.  script_dependencie("find_service.nes", "no404.nasl");
  49.  script_require_ports("Services/www", 80);
  50.  exit(0);
  51. }
  52.  
  53. #
  54. # The script code starts here
  55. #
  56.  
  57. include("http_func.inc");
  58. include("http_keepalive.inc");
  59.  
  60. port = get_http_port(default:80);
  61.  
  62. if(!get_port_state(port))exit(0);
  63.  
  64. directory = "";
  65.  
  66. foreach dir (cgi_dirs())
  67. {
  68.   if(is_cgi_installed_ka(item:string(dir, "/counter.exe"), port:port))
  69.   {
  70.     if (safe_checks() == 0)
  71.     {
  72.       req = string("GET ", dir, "/counter.exe?%0A", "\r\n\r\n");
  73.       soc = open_sock_tcp(port);
  74.       if (soc)
  75.       {
  76.         send (socket:soc, data:req);
  77.         r = http_recv(socket:soc);
  78.         close(soc);
  79.       }
  80.       else exit(0);
  81.  
  82.       soc2 = open_sock_tcp(port);
  83.       if (!soc2) security_hole(port);
  84.       send (socket:soc2, data:req);
  85.       r = http_recv(socket:soc2);
  86.       if (!r) security_hole(port);
  87.       if (egrep (pattern:".*Access Violation.*", string:r) ) security_hole(port);
  88.     }
  89.     else
  90.     {
  91.       mymsg = string("The file counter.exe seems to be present on the server\n");
  92.       mymsg = mymsg + string("As safe_checks were enabled, this may be a false positive\n");
  93.       security_hole(port:port, data:mymsg);
  94.     }
  95.     }
  96. }
  97.